Implement ANTS-2D bifacial irradiance model#2740
Conversation
echedey-ls
left a comment
There was a problem hiding this comment.
Some first impressions; also, you may want to link to it in other bifacial "See also" sections.
cwhanse
left a comment
There was a problem hiding this comment.
I'm OK reviewing the whole PR, if we can do it in a sequence of smaller review bites.
Co-Authored-By: Cliff Hansen <5393711+cwhanse@users.noreply.github.com>
| ------- | ||
| fgnd_sky : numeric | ||
| Integration of view factor over the length between adjacent, interior | ||
| rows. Shape matches that of ``surface_tilt``. [unitless] |
There was a problem hiding this comment.
Replace surface_tilt or not, pending outcome of comment about tracker_rotation
Co-authored-by: Cliff Hansen <cwhanse@sandia.gov>
|
Is there a reason that |
Co-authored-by: Cliff Hansen <cwhanse@sandia.gov>
The only reason is that I did not think to include it in the reference paper, so including it here would be going beyond the reference. If no reviewers object to that in this case, I'd be fine adding it in (and maybe documenting it as an extension). |
That sounds great to me! |
[ ] Closes #xxxxdocs/sphinx/source/referencefor API changes.docs/sphinx/source/whatsnewfor all changes. Includes link to the GitHub Issue with:issue:`num`or this Pull Request with:pull:`num`. Includes contributor name and/or GitHub username (link with:ghuser:`user`).remote-data) and Milestone are assigned to the Pull Request and linked Issue.@AdamRJensen, @cwhanse, and I have a paper describing a new bifacial irradiance model called ANTS-2D. It is similar to pvlib's
infinite_shedsmodel, but extended to allow:Details available open-access here: https://doi.org/10.1109/JPHOTOV.2026.3677506
This PR is rather large. To summarize:
g0andg1parameters to the view factor functions inpvlib.bifacial.utils. These are analogous tox0andx1invf_row_sky_2d_integand extend the functions to subset the ground surface.vf_ground_sky_2d_integto use Hottel's crossed-string rule instead of burdensome numerical integration. This makes thenpointsandvectorizeparameters unnecessary.pvlib.bifacial.utilsto be cleaner with the new calculations.pvlib.bifacial.infinite_shedsto accommodate theutilschangespvlib.bifacial.ant2d, which houses the model itself and uses the newutilsfunctionality.Let me know if it would help reviewers to split it up and review separate PRs, starting with
utils.